The user experience on the World Wide Web has evolved from viewing static pages of information to more complete interaction with Web-based applications. Most users experience the Web through a Web Browser application such as Internet Explorer, Opera, Netscape or Firefox. Web browsers provide an essentially forms based environment to the developer. Techniques for manipulating browsers, originally designed to display text and presentation information, have included the provision of richer tools and HTML enhancements, including a client side scripting environment-JavaScript-Cascading Style Sheets (CSS), and Macromedia Flash.
Web-applications are downloaded via potentially constrained connections to a server. As these applications get more interactive, the size of code and data can grow immensely. There is typically a conflict between providing enriched client interactivity in a Web document while maintaining client performance. As pages increase in interactivity, their size increases, and download speed often decreases. Therefore, a goal of the developers is to remove bottlenecks often associated with adding behaviors. Perceived performance is tightly correlated to rendering speed or how fast the first screen of content is displayed.
Currently, most Web applications request page elements by opening at most two persistent connections between the browser and the server in accordance with The Internet Engineering Task Force RFC 2616-Hypertext Transfer Protocol—HTTP/1.1. While it is possible to modify this parameter in many browsers to increase access to resources, most browser manufactures adhere to the recommendations of RFC 2616. In addition, when Web-pages consisting of many external resources such as images, style sheets, scripts, and xml files, is loaded by the browser and the resources requested from a server, there is generally no defined ordering to the retrieval of such resources. However, in a Web page, some resources, such as images, are often secondary to the overall experience and should not block important operations such as executing a delete item or send mail command.